package com.ruoyi.ai.service;

import java.util.List;
import com.ruoyi.ai.domain.AiWork;
import com.ruoyi.ai.domain.AiWorkCollect;
import com.ruoyi.ai.domain.AiWorkHistory;

/**
 * 作品管理Service接口
 *
 * @author tang
 * @date 2024-12-10
 */
public interface IAiWorkService
{
    /**
     * 查询作品管理
     *
     * @param workId 作品管理主键
     * @return 作品管理
     */
    public AiWork selectAiWorkByWorkId(Long workId);

    /**
     * 查询作品管理列表
     *
     * @param aiWork 作品管理
     * @return 作品管理集合
     */
    public List<AiWork> selectAiWorkList(AiWork aiWork);

    /**
     * 新增作品管理
     *
     * @param aiWork 作品管理
     * @return 结果
     */
    public int insertAiWork(AiWork aiWork);

    /**
     * 修改作品管理
     *
     * @param aiWork 作品管理
     * @return 结果
     */
    public int updateAiWork(AiWork aiWork);

    /**
     * 批量删除作品管理
     *
     * @param workIds 需要删除的作品管理主键集合
     * @return 结果
     */
    public int deleteAiWorkByWorkIds(Long[] workIds);

    /**
     * 删除作品管理信息
     *
     * @param workId 作品管理主键
     * @return 结果
     */
    public int deleteAiWorkByWorkId(Long workId);

    public List<AiWork> selectAiWorkListByCollect(AiWorkCollect aiWorkCollect);

    public int insertAiWorkCollect(AiWorkCollect aiWorkCollect);

    public int deleteAiWorkCollect(AiWorkCollect aiWorkCollect);

    public List<AiWork> selectAiWorkListByHistory(AiWorkHistory aiWorkHistory);

    public int insertAiWorkHistory(AiWorkHistory aiWorkHistory);

    public int deleteAiWorkHistory(AiWorkHistory aiWorkHistory);

    /**
     * 增加或减少指定作品的点赞数
     * @param workId 作品ID
     * @param number 数目(1,-1)
     * @return 修改成功行数
     */
    public int updateAiWorkLikeNumber(Long workId,Long number);

}
